The invention relates generally to one-time programmable ROM memory elements and more specifically to a one time programmable ROM element with secure read access.
A large number of integrated circuit applications require some sort of electrically programmable, non-volatile memory for storing information. To accommodate the increased demand for electrically programmable memory in modern integrated circuits, a number of well known memory technologies are available, including for example, programmable read only memories (PROMs), erasable programmable read-only memories (EPROMs), electrically erasable programmable read-only memories (EPROMs), field programmable gate arrays (FPGAs), and fuse devices.
The fuse element, or (one time programmable) OTP fuse element is often formed from a conductive salicided poly silicon wire. In an unblownxe2x80x94unprogrammedxe2x80x94state, the fuse is conducting with a low impedance. To program the fuse a large programming current of approximately 20 mA, is applied to the salicided poly silicon wire, resulting in heating of the salicided poly silicon wire causing a high impedance connection once the salicided poly silicon wire is blown. Of course, once a fuse is blown, the written data is non-erasable.
Data written and stored within each of these devices is easily accessible once an addressing scheme is implemented for accessing the data. For example, on a 1xc3x978 OTP ROM, upon power-up the output ports will contain the value stored within the ROM. As a result, secure data written to any of these memory locations is not secure.
It is therefore an object of this invention to provide a fuse memory device having an array of fuse elements as well as a control circuit for providing secure access to the stored data within, wherein the secure data is inaccessible from within the fuse memory device without proper control circuit operation and secure access verification.
In accordance with the present invention, there is provided a secure one time programmable (OTP) ROM comprising:
secure data storage for storing a secure data value;
an output port; and,
a data retrieval circuit operable in a first mode and in a second other mode for in the first mode providing a first known value other than the value stored in the secure data storage to the output port and in the second other state for providing the value stored in the secure data storage is provided to the to the output port.
In accordance with another aspect of the present invention, there is provided a method of performing a secure read on a one time programmable (OTP) ROM device having a secure value stored therein comprising the steps of:
providing a secure output register;
resetting the device;
storing within the secure output register a known value other than the secure value; and,
performing a secure read operation to retrieve the secure value and to latch the retrieved secure value into the secure output register in dependence upon the secure read operation.